ホームページ > バックエンド開発 > PHPチュートリアル > PHPクエリSQLサーバー2008の問題

PHPクエリSQLサーバー2008の問題

WBOY
リリース: 2016-06-23 13:48:39
オリジナル
1152 人が閲覧しました

PHP がページングで SQL Server 2008 からデータを取得できるようにしたいです。

1. MySQL は n,m を制限できますが、SQL サーバーは制限できません
2. ページングで結合後のデータを取得したいのですが、便利な rownum と先頭を見つけました。インターネット、ユニオンの組み合わせ実装でどのように取得できますか


私の結果セットは

(select A,B,C,D from t1) union (select '100' as A ,B,C,D  from t2)  union (select A,B,C,D from t3)
ログイン後にコピー


に似ていますが、どれがどれに行くかごとにどの結果セットが返されるかを制限したいです


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

次のように書きます:

$sql = '你的sql查询指令';$start = 1; //起始偏移$pagesize = 20; //每页行数$sqls =<<< SQLSELECT * FROM (SELECT A.*, ROWNUM RN FROM ($sql) A WHERE ROWNUM < $start+$pagesize)WHERE RN >= $startSQL;
ログイン後にコピー
$sqls は最後のクエリ ステートメントです

わかりました、私の問題は、union の結果にエイリアスを与える方法がわからないことであることがわかりました。モデレーターありがとうございます~~

最後に、Baidu と組み合わせて、このように書きました

SELECT * FROM (     SELECT  * , ROW_NUMBER() OVER (ORDER BY A DESC) AS rn          FROM  ($sql)  AS s1)AS s2  where rn between $from and $to
ログイン後にコピー

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