私は列の値の出現回数を数え、出現回数が1より大きい行を返します。例えばmysqlで列の値が繰り返されるレコードを返す
:
SomeId AnotherId
1 BC4
1 CDE
1 SDF
5 ER
5 WER
4 DFGR4
Iは、その発生列SomeId
でSomeId
が1より大きい取得することができたいです。
私はSUM
とGROUP
が、運:(
私は列の値の出現回数を数え、出現回数が1より大きい行を返します。例えばmysqlで列の値が繰り返されるレコードを返す
:
SomeId AnotherId
1 BC4
1 CDE
1 SDF
5 ER
5 WER
4 DFGR4
Iは、その発生列SomeId
でSomeId
が1より大きい取得することができたいです。
私はSUM
とGROUP
が、運:(
これが複数回発生するのIdsを返しますを使用して見てきました
SELECT SomeId
FROM yourTable
GROUP BY SomeId
HAVING COUNT(1) > 1
SELECT SomeId, COUNT(SomeId) AS someidcount
FROM tablename
GROUP BY SomeId
HAVING someidcount > 1
はこれを試してみてください:。
select count(*) as frequency, SomeId group by SomeId having frequency > 1
SELECT SomeId
FROM YourTable
GROUP BY SomeId
HAVING COUNT(SomeId) > 1;
あなたはGROUP BYと正しい軌道に乗っていましたが、HAVINGも必要でした。
これを試してみてください:
SELECT SomeId, COUNT(SomeId)
FROM table
GROUP BY SomeId
HAVING COUNT(SomeId) > 1
はここで初心者のためのa Wikipedia article on the HAVING clauseへのリンクです。
これを試してください:あなたはPHPに精通している場合
select SomeId, Count(distinct AnotherId)
from YourTable
group by SomeId
having Count(distinct AnotherId) > 1
は、あなたがこのようにそれを行うことができます。
$sql = "SELECT * FROM table";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc):
if($row['SomeId'] > 1):
{do whatever you like here...}
endif;
endwhile;
。あなたがそれを必要としないときにPHPを使用しないでください。 –
このユーザーがPHPを使用していて、データベースの目的がPHP用である場合にのみ、私はこれを提案しています。もしそうでなければ、それは悪い考えです。 –
まず、あなたの解決策は単に働きません。 OPが望むことはしません。第二に、たとえOPがPHPを使用しても(それは仮定するのは良い考えではありませんが)、それでもやはり悪い解決策になります。あなたはDBMSの仕事をするためにPHPを使用しないでください。 –
は完璧働いて、ありがとうございました:)間違っていると、とにかく非常に悪い考えです –