Saya memiliki tabel besar dengan banyak baris dan kolom, tetapi saya hanya akan menjelaskan yang penting saja:
+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| artikel | int(10) unsigned | NO | IDX | NULL | |
| color | varchar(255) | NO | | NULL | |
+-----------+------------------+------+-----+---------+----------------+
Contoh datanya:
1 apple 1000 red
2 apple 1000 yellow
3 lemon 2000 blue
4 lem on 2000 green
5 lemon 2000 black
6 apple 1000 white
7 cherry 3000 lime
8 cherry 3000 pink
9 lemon 2000 silver
10 apple 1000 gold
Seperti yang Anda lihat, indeks ada di artikel
, setiap artikel
memiliki beberapa name
(untuk setiap artikel
ada name
yang sama) dan color
yang berbeda. Semuanya OK, tapi baris 4
ada masalah, ada yang salah name
= lem on
, seharusnya lemon
.
Saya ingin memilih baris ini (GROUP BY artikel
), di mana tidak ada name
yang unik, tetapi HAVING COUNT(name) > 1
. Jadi pilihan saya akan mengembalikan satu baris, dimana akan menjadi artikel
= 2000
.
Saya mencoba HAVING
, DISTINCT
, tetapi tidak berhasil.
Bagaimana cara melakukan hal tersebut?