[英]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.