2017-01-10 3 views
0

テーブルにエントリが1つしかない場合は、SQLで名前を選択します。エントリが1つのみの場合は名前を選択してください

SELECT name 
FROM stats 
WHERE name = 
    (SELECT DISTINCT(name) FROM stats WHERE COUNT(name) < 1 
) 

よう 何かが、私は、これは動作しません知っているが、どのように私はこれを得ることができますか?

+0

結果が1未満の場合、サブクエリが検出されます。 – happymacarts

+0

@happymacartsいいえ、[Err] 1111 - グループ機能の無効な使用 – 12Hannibal12

答えて

0

を!名前が統計 FROM

SELECT名 (統計FROM s2.name を選択しs2.name HAVING COUNT(*)= 1 BY基S2)。

1

どうやってこのようなことがありますか? HAVING

SELECT `name` 
FROM `stats` 
WHERE `name` = (
    SELECT DISTINCT(`name`) 
    FROM `playerstats` 
    HAVING COUNT(`name`) = 1 
) 

を使用して

SELECT A.name 
FROM stats A 
inner join (
SELECT count(*) `cnt`, name 
FROM stats 
group by name 
) B on (A.name = B.name) 
WHERE B.cnt = 1 
+0

いいえ、同じテーブルにあります。上記をご覧ください。 – 12Hannibal12

+0

@ 12Hannibal12質問を更新しました – bassxzero

2

使用すると、1つのテーブルから選択している場合は、ネストされたクエリ必要はありません。私は機会を持っている

SELECT `name` 
FROM `stats` 
HAVING COUNT(`name`) = 1 
+0

申し訳ありませんが、間違いでした。私は自分のコードに誤りがあります。それは上で編集されています。 – 12Hannibal12

+0

同じテーブルから選択する場合は、ネストされたクエリは必要ありません。 –

+0

Nullと言っていますが、いくつかあります。 – 12Hannibal12

関連する問題