アプリ版:「スタンプのみでお礼する」機能のリリースについて

100項目ある文字列を、日替わりで表示させたいと考えています。
■id順で表示されるかはどちらでも良い
■重複せずに100項目を一巡して、二巡目に行って欲しい


"SELECT * FROM DB名 WHERE 【この部分の条件】LIMIT 1"

SQLについてはかなり初心者なのですが、調べても
似たような抽出方法をしているものがヒットせず、
どのように条件を組み立てたら良いか
どなたかご教授いただけないでしょうか。

よろしくお願いいたします。

A 回答 (2件)

OFFSET に関数を書けないので訂正します。



下記なら実行できます。

SET @offset = MOD(DATEDIFF(CURRENT_DATE(), '2021-11-25'), 100);
PREPARE stmt FROM 'SELECT * FROM テーブル名 ORDER BY id LIMIT 1 OFFSET ?';
EXECUTE stmt USING @offset;
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。

教えていただいた記述そのままではないですが、考え方は理解できたので上手く動作するよう書き直すことができました!
ありがとうございました!!

お礼日時:2022/02/10 16:35

SELECT * FROM テーブル名 ORDER BY id LIMIT 1 OFFSET MOD(DATEDIFF(CURRE

NT_DATE(), '2021-11-25'), 100)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!