ホームページ > バックエンド開発 > PHPチュートリアル > 複数のMySQLテーブルの内容を最終更新時刻順に並べて確認する方法

複数のMySQLテーブルの内容を最終更新時刻順に並べて確認する方法

WBOY
リリース: 2016-06-23 14:25:53
オリジナル
987 人が閲覧しました

Mysql 複数のテーブルの内容を調べて、最終更新時間に従って配置する方法
4 つのテーブルのフィールドは同じで、内容だけが異なります
テーブル名: aaa、bbb、ccc、ddd 4 つのテーブル

テーブルのフィールド: title、classid 、userid、newstime、classname、images


次に、相関関係のない 4 つの独立したテーブルの最終更新 (newstime) の降順を調べたいとします。 userid=2 と書きます。 10枚のレコードの内容は?
newstime フィールド Unix タイムスタンプ形式
userid フィールドはユーザー ID のフィールドです (つまり、このユーザーの最後に更新された 10 件のコンテンツを時間の降順で見つけます)


ディスカッションへの返信 (解決策)

select a.* from aaa as a union all select b.* from bbb as b union all select c.* from ccc as c union all select d.* from ddd as d where userid = 2 orderby newstime desc limit 10
ログイン後にコピー
ログイン後にコピー

正解は二階です。

テストしてみよう

select a.* from aaa as a union all select b.* from bbb as b union all select c.* from ccc as c union all select d.* from ddd as d where userid = 2 orderby newstime desc limit 10
ログイン後にコピー
ログイン後にコピー



$ecms_bq_sql=$empire->query("select a.* from ds_ecms_nanxie as a Union all select b.* from ds_ecms_nvxie as b Union all select c.* from ds_ecms_tongxie as cどこでuserid=1 order by newstime desc limit 10");
$bqno=0;
while($bqr=$empire->fetch($ecms_bq_sql))
{


上記は間違っています
使用されている SELECT ステートメントは次のとおりです列の数が異なります
***_ecms_nanxie から a.* をすべて結合として選択します b.* を ***_ecms_nvxie から b 結合としてすべて選択します c.* から ***_ecms_tongxie から c を選択します (userid=1 の場合) ニュースタイムで並べ替えますdesc limit 10

また、4 つのテーブルに 50,000 個のデータ エントリがある場合、このようなチェックは false になりますか?

OK、フィールドが少ないテーブルとフィールドが多いテーブルが 1 つあります

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