簡體   English   中英

在MySQL中使用max(points)AS時如何獲取完整行?

[英]How to get complete row when using max(points) AS in mysql?

我正在使用此代碼。

$query = "SELECT max(Points) AS Points,City FROM Table_name WHERE Gender='Female' && Country='England' GROUP BY City";

我希望它給出完整的行,而不僅僅是“積分”和“城市”。 在我的數據庫中,順序為ID,城市,積分,姓名,性別,國家/地區。 當我運行這一行代碼時,它只會給我積分和城市。

我已經嘗試過*但沒有用。

我猜您想讓整行具有最高分值,即具有雌性/英格蘭/城市的行,其中沒有一個具有更高的分值:

SELECT *
FROM Table_name t1
WHERE Gender='Female' 
 AND Country='England'
 AND NOT EXISTS (select 1 from Table_name t2
                 WHERE t2.Gender='Female' 
                   AND t2.Country='England'
                   AND t2.city = t1.city
                   AND t2.points > t1.points)

如果是平局將顯示兩行。

要僅返回一行/城市,只需在EXISTS添加<id條件:

SELECT *
FROM Table_name t1
WHERE Gender='Female' 
 AND Country='England'
 AND NOT EXISTS (select 1 from Table_name t2
                 WHERE t2.Gender='Female' 
                   AND t2.Country='England'
                   AND t2.city = t1.city
                   AND t2.points > t1.points
                   AND t2.id < t1.id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM