-2
4

2 に答える 2

1

あなたの質問を正しく理解できた場合は、場所と住所の両方でグループ化する必要があります。

SELECT location, address FROM table GROUP BY location, address

または、DISTINCT を使用できます。

SELECT DISTINCT location, address FROM table
于 2013-04-17T11:26:10.523 に答える
0

データに表示されているよりも多くのケースがあると思います。col1 に NULL を含めたり、col1 または col2 にのみ出現する名前を付けたりすることができます。

SELECT a.name, c1.`count`, c2.`count`
FROM (SELECT col1 AS name FROM `Table` UNION SELECT col2 FROM `Table`) a
LEFT JOIN (SELECT col1, COUNT(*) AS `count` FROM `Table` GROUP BY col1) c1 
ON a.name = c1.col1
LEFT JOIN (SELECT col2, COUNT(*) AS `count` FROM `Table` GROUP BY col2) c2 
ON a.name = c2.col2;

説明: 派生テーブル a は、いずれかの列に現れるすべての名前の和集合です。次に、さらに 2 つの派生テーブルを作成します。1 つは col1 の各名前とその出現回数のカウントで、次に col2 の名前の同様の派生物語をもう 1 つ作成します。

于 2013-04-17T09:13:17.587 に答える