私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【MySQL】下らねぇ質問はID出して書き込みやがれ 2
mysql スレッド一覧へ / mysql とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
もう一つのMySQLスレが荒れて機能してないからな
パクリってか避難ってことでいんじゃね?
パクリってか避難ってことでいんじゃね?
SNSの個人設定で、以下のような日記の公開範囲設定があります。
※「○月○日の日記を公開するかどうか」ではなく、そのユーザーの日記全体の設定です。
5.インターネット全体に公開
4.SNSユーザー全員に公開
3.友達の友達にまで公開
2.友達にだけ公開
1.非公開
ここで、特定のサイト訪問者が閲覧できる日記だけを、記事単位で最新10件分取得したい場合、
どのようなSQLを書くのがスマートでしょうか。
いまは、最初に上記の公開範囲テーブルから「閲覧できるユーザーID」を全取得して、
日記を select するときに where user_id in(1,2,3,5,6,8,9,10,11,13,...) などとやってて、
パフォーマンスがだいぶ悪いです。
そこで、手段を変えて、次のようにひとつのクエリで取得しようとしたら、もっと悪化しました。
where
(private.diary = 5) or
(private.diary = 4 and ログインしてるかどうか) or
(private.diary = 3 and 友達の友達かどうかのサブクエリ) or
(private.diary = 2 and 友達かどうか) or
(private.diary = 1 and 自分かどうか)
※「○月○日の日記を公開するかどうか」ではなく、そのユーザーの日記全体の設定です。
5.インターネット全体に公開
4.SNSユーザー全員に公開
3.友達の友達にまで公開
2.友達にだけ公開
1.非公開
ここで、特定のサイト訪問者が閲覧できる日記だけを、記事単位で最新10件分取得したい場合、
どのようなSQLを書くのがスマートでしょうか。
いまは、最初に上記の公開範囲テーブルから「閲覧できるユーザーID」を全取得して、
日記を select するときに where user_id in(1,2,3,5,6,8,9,10,11,13,...) などとやってて、
パフォーマンスがだいぶ悪いです。
そこで、手段を変えて、次のようにひとつのクエリで取得しようとしたら、もっと悪化しました。
where
(private.diary = 5) or
(private.diary = 4 and ログインしてるかどうか) or
(private.diary = 3 and 友達の友達かどうかのサブクエリ) or
(private.diary = 2 and 友達かどうか) or
(private.diary = 1 and 自分かどうか)
検索エンジンGoogleで「インターネットテレビ ○○総連 少頭劣一族 マイクロソフト社(又は経済産業省等気になる省やインターネットや原発、地震 波動砲)」を検索。
警察と自衛隊の武器は少頭劣一族が奪い、朝鮮に送ったらしい。知能障害以前の頭が悪い家族達。「工作員」の意味を知らない「工作員」家族。
警察と自衛隊の武器は少頭劣一族が奪い、朝鮮に送ったらしい。知能障害以前の頭が悪い家族達。「工作員」の意味を知らない「工作員」家族。
「俺の全文検索」のソースをアップロードした。
http://www.ne.jp/asahi/sun/patagonia/fulltext/fulltext.html
うまく全文検索できないときには掲示板に書きこんでくれ。
http://www.ne.jp/asahi/sun/patagonia/fulltext/fulltext.html
うまく全文検索できないときには掲示板に書きこんでくれ。
質問です。
以下のようなSQLファイルを作成し、実行してみました。
---------------------------------
~$ cat hoge.sql
use test;
drop table if exists table_abc;
create table table_abc(id int primary key, name text, delete_flg int);
insert into table_abc values (1, 'aaa', NULL);
insert into table_abc values (2, 'bbb', 1);
insert into table_abc values (3, 'ccc', 0);
select * from test.table_abc where delete_flg != 1;
---------------------------------
結果は、以下のようになったのですが、delete_flg=NULLのレコードが返却されないのはなぜでしょうか。
~$ cat hoge.sql | mysql
---------------------------------
id name delete_flg
3 ccc 0
---------------------------------
以下のようなSQLファイルを作成し、実行してみました。
---------------------------------
~$ cat hoge.sql
use test;
drop table if exists table_abc;
create table table_abc(id int primary key, name text, delete_flg int);
insert into table_abc values (1, 'aaa', NULL);
insert into table_abc values (2, 'bbb', 1);
insert into table_abc values (3, 'ccc', 0);
select * from test.table_abc where delete_flg != 1;
---------------------------------
結果は、以下のようになったのですが、delete_flg=NULLのレコードが返却されないのはなぜでしょうか。
~$ cat hoge.sql | mysql
---------------------------------
id name delete_flg
3 ccc 0
---------------------------------
>>42
名前は、とにかくバッククオート(`hoge`)で囲んでおけば、
予約語だろうがそうで無かろうが使えるはずだけどね。
(クオート('hoge')ではない)
予約語でなければ囲まなくとも支障は無いが。
名前は、とにかくバッククオート(`hoge`)で囲んでおけば、
予約語だろうがそうで無かろうが使えるはずだけどね。
(クオート('hoge')ではない)
予約語でなければ囲まなくとも支障は無いが。
なら、
・YYYYからXXまで全部ホストプログラムで生成
・XX の部分は連番で
・秒が変わればゼロリセット(ホストプログラムでなら容易)
でいけそうに思えるんだが。
そういうことするプログラム(プロセス)が複数でないならばだけど。
・YYYYからXXまで全部ホストプログラムで生成
・XX の部分は連番で
・秒が変わればゼロリセット(ホストプログラムでなら容易)
でいけそうに思えるんだが。
そういうことするプログラム(プロセス)が複数でないならばだけど。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / mysql スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- 【】 MySQLを買収したSunを買収したOracleを 【】 (112) - [25%] - 2023/1/22 14:15
- 【この先一体】MySQL 総合 Part15【どうなるの】 (1001) - [21%] - 2009/11/22 13:31 ○
トップメニューへ / →のくす牧場書庫について