現在、私はこのクエリを持っています:
SELECT column1,column2 FROM table
column1 は別個である必要がありますが、column2 はそうではありません。
SELECT DISTINCT column1, NON-DISTINCT column2 FROM table
意味がないことはわかっていますが、column1 を区別し、column2 を何かにする必要があります。どうすればそれを行うことができますか。
select pid, group_concat(distinct bla1) as bla1s
from table
group by pid;
上記により、pidごとに1行が取得され、新しい列を導入したり、複数のbla1をランダムに選択したりすることなく、余分なbla1があるかどうかを確認できます。
これを試してください(最速):
SELECT *
FROM `table`
GROUP BY pid
HAVING min( id )
2番目の(遅い)オプション:
select *
from `table` t1
where
t1.id = (select min(id) from `table` t2 where t1.pid = t2.pid)