ホームページ > バックエンド開発 > PHPチュートリアル > mysql は最適化ステートメントをランダムに取得します

mysql は最適化ステートメントをランダムに取得します

WBOY
リリース: 2016-06-23 14:01:43
オリジナル
820 人が閲覧しました

インターネットで乱数ステートメントを見つけて、自分のニーズと組み合わせて実行しましたが、間違っていました。
長い間調べましたが、間違いが見つかりませんでした。アドバイスをお願いします。
ディスカッションに返信(解決策)


エラーメッセージは何ですか?

$str="select * from dizhi where shijiancuo>'$times' GROUP BY user HAVING COUNT(user) > 4 AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM dizhi)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id ASC LIMIT 1" ;
ログイン後にコピー

23 コードは次のとおりです

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\www\AppServ\www\tuijianshuchu.php on line 23
ログイン後にコピー


SQL ステートメントが間違っているので、$str ステートメントを出力して、それが何であるかを確認してください

$str は 1 階に投稿されました

$result=mysql_query($str , $con) または die(mysql_error());

$result=mysql_query($str, $con);  //送出查?	$rows=mysql_num_rows($result); //23行
ログイン後にコピー

select * from

(select * from dizhi where shijiancuo>'$times' GROUP BY user HAVING COUNT(user) > 4) AS t1

J OIN

( SELECT ROUND(RAND() * (SELECT MAX(id) FROM dizhi)) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id ASC LIMIT 1

JOIN (SELECT ROUND (RAND () * (SELECT MAX(id) FROM dizhi)) AS id from dizhi) AS t2

8階はOKではありません、7階はOKです、ありがとう

この文の意味が全く分かりませんでした

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM dizhi)) AS id) AS t2 ' at line 1
ログイン後にコピー

インターネットでは ROUND 関数について話題になっています 数値フィールドを指定された小数点以下の桁数に四捨五入するために使用されるため、このステートメントの結果がよくわかりません

RAND は 1 未満の乱数を生成します
SELECT MAX(id) FROM dizhiテーブル dizhi 内の最大の ID 値を取得します

ROUND は整数に丸められます


このクエリ コマンドの意味は次のとおりです:
テーブル内の任意の ID 値を取得します

わかりました、3Q。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート