2017-03-16 8 views
0

私は2つの列siteIDとsite_equip_idを持っています。MySQLは別の列の制限に基づいて列の最大数を取得しますか?

だからsiteIDは場所の番号です。 site_equip_idは、siteID番号に基づいて増分する数値です。重複がある可能性があるので、私は削除する必要があります。私はSITEID上だけで最高の基数を見つけるしたいと思いますが、その数は、列から来ている例

siteID site_equip_id 
1   1 
1   2 
1   3 
2   1 
3   1 
3   2 

ため

は(これは私が試みたものですが、うまくいきませんでした

をsite_equip_idちょうど私にsite_equip_idのための最も高い値を与えました - siteIDによって制限されません:

SELECT MAX(site_equip_id)+1 as site_equip_id 
FROM equipment 
WHERE site_id = 1 
+1

アップデートによりgropを使用することができますsiet_id .. – scaisEdge

+0

グループによって問題を解決しました – Sol

+0

私はあなたのコメントをundestandしないでください...より良い説明してください...そして適切なサンプルと期待される結果を追加してください...何が700sか200sを意味しますか? – scaisEdge

答えて

1

はあなたのサンプルに基づいてショーにexcpected結果に疑問をあなたが

SELECT MAX(site_equip_id)+1 as site_equip_id 
FROM equipment 
group by site_id 

または

SELECT site_id, MAX(site_equip_id)+1 as site_equip_id 
FROM equipment 
group by site_id 
+0

それをグループ化することはそのトリックをやったようだった。 :) – Sol

+0

@ user7480839グループbyはこれです。 – scaisEdge

2

それはあなたを探していますか?

あなたがそれぞれの最高値が必要な場合は
SELECT MAX(site_equip_id) as site_equip_id FROM equipment GROUP BY site_id ; 
関連する問題