0

テーブル:

locations
---------
contract_id INT
order_position INT   # I want to find any bad data in this column

order_position指定された 内で重複する sを見つけたいと思いますcontract_id

たとえば、2 つのlocations行の値contract_id「24845」で、両方の行の値order_position「3」の場合などです。

MySQL 5.1 を使用しています。

4

4 に答える 4

3
select contract_id, order_position
from locations
group by contract_id, order_position
having count(*) > 1
于 2013-06-12T21:05:06.947 に答える
1
SELECT contract_id, order_position, count(*)
FROM locations
GROUP BY contract_id, order_position
HAVING count(*) > 1
于 2013-06-12T21:05:33.767 に答える
1

HAVING 句は、重複が存在するインスタンスを表示できます。

SELECT *
FROM locations
GROUP BY contract_id, order_position
HAVING COUNT(*) > 1
于 2013-06-12T21:05:34.143 に答える
1
SELECT contract_id, order_position, COUNT(order_position) AS cnt
FROM locations
GROUP BY contract_id, order_position
HAVING cnt > 1;

なぜCOUNT(column)通常よりも優れているのですCOUNT(*)か(わかりました、これは私の答えを区別するためだけでした:D)

于 2013-06-12T21:06:24.863 に答える