忍者ブログ

カウンター

プロモーション

カレンダー

03 2019/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

AntinomyMy の実験室

   私のWEBアプリ実験室です!

ブログ内検索

楽天でお買い物

twitter

最新トラックバック

最新コメント

忍者アナライズ

ウェザーニュース

バーコード

本を買う

アクセス解析

Google+

No Image

MySQL 同じテーブルで同じレコードを重複させて結合させる UNION ALL とSELECT に AS

PHP の調べ物

SELECT を使って、同じテーブルの内容で
レコードをかぶってる状態で取得したかった。

たとえば1回のクエリーを送るだけで、
ランキングで自身+100件とか取得出来れば楽だ(プロシージャーをCALLする等)

それではじめは、SELECT に as 適当な名前(例では t_colom)
にして、余計なカラムで順位をつけて取得するみたいなことをしていた。
(実験だから、自身のIDが下に結合されてついてます)


SELECT '1' as t_column, user_id FROM `xxx_table` LIMIT 3
UNION
SELECT '2' as t_column, user_id FROM `xxx_table`
WHERE
`user_id`='0003';
t_columnuser_id
1 0001
1 0002
1 0003
2 0003

しかし、UNION ってALL をつけると、重複してくれて、すべてを取得できる。


SELECT user_id FROM `xxx_table` LIMIT 3
UNION ALL
SELECT user_id FROM `xxx_table`
WHERE
`user_id`='0003';
 
user_id
0001
0002
0003
0003


知らなかった・・・w

UNION DISTINCT がデフォルトで、
UNION って書く場合には、DISTINCT が指定されていることになっている。
知らなかった・・・ 知らなかった・・・

はじめ覚えた本にそんな事が書かれてなかった本で
それをずっと信じていた。

いっぱいあちこち見てみるもんだなぁ・・・

拍手[0回]

PR

No Image

MySQL で as で選択した内容をテーブルにできるんだった

MySQL の調べ物

久しぶりにSQL を触ってとても単純な事を忘れて戸惑った(ブログも超久しぶりに書いた)

SELECT a,b FROM (select 1 as a,2 as b) as x
UNION
SELECT a,b FROM (select 2 as a,3 as b) as x
UNION
SELECT a,b FROM (select 4 as a,5 as b, 6 as c, 7 as d) as x


また変な誤解で
as tables とか as table
は、別のものだと思ってた

完全に何だろう?と思っていた
table とかtables とか使っている例は
単なる一時的な命名だった・・・

as はas で、それがカラムだったり、テーブルだったり、
状況に応じて変化する様だ

バカみたいだけど、結構、単純な事を知ったつもりで
知らずに通過してきたんだなって思える時がSQLについては多い・・・

プロシージャーとかを連続で使って
LIMIT 句に変数が使えなくて、
PREPARE を使って ? に入れると出来るとか
PHP のクエリー作成時にPHP側で処理している
やたらPHPに頼ったゴリゴリ書いて動かしてたりすると
気が付かないこととか多い。

プロシージャーで書くことは
やはりとてもメリットが大きいと思えて仕方ない^w^;(勉強や速度を含めた意味で)

拍手[0回]


No Image

windows から Mac へのリモート接続時 の文字変換 キーは[Ctrl + Space]

Mac の調べ物とメモ

Windows からMac へなんらかのリモート接続のソフトを用いて接続した時に
とても厄介な事柄を感じたことのメモ( ..)φメモメモ

Macにあるキーの「英数」っていうボタンを押したいけど
Mac のキーの「英数」は、Windows のキーの「無変換」とは違うのが厄介だった

まぁ、結果的にアレコレキーを押して分かったんだけど
Windows からWindows のキーボードを用いてホストのMac のMac キー「英数」ボタンを
押すには[Ctrl + Space] キーで出来る!

どんなアサインになってるか不明だけど?
Mac 側でこれもOKになってるのか
キーボードのコードが同一なのかまでは全く調べてない

というか意識したくないし、キーと機能の設定をWindows 側も
Mac 側もいじりたくない・・・w

なんせMacってWindows とキーボードが違うし
それに割り当てられてる機能も違うからややこしい

どっちかの設定、例えばWindows のキーの設定を変えても
それは機能を変えるだけでキーボードの位置とか、その部分に無いキーまで
なんとかできる訳でもない

この
Ctrl + Space を忘れない為のメモでした<_ _> お粗末

拍手[0回]


No Image

Mac OS X El Capitan でEclipse を使うには、JRE じゃなくてSDKでなくてはダメだった!

Mac の調べ物とメモ

なんか、ハマってました。

元々、Mac OS X El Capitan は、Java 6 の最後のカスタマイズ?みたいなのが
入っているらしいのですが、これではEclipse は動かないです。

なので、JRE を入れたのですが、動かず・・・・
なにやら共存関係なのか、作りが違うのか、設定が変わらないので
SDKを入れないと動きません。

凄く長い間、動かないので困ったのでメモでした。

Java SE Development Kit 8 Downloads

拍手[0回]


No Image

長文なアンカーをボックス(pre)要素内で改行

HTML のスキーマの調べ物

まず、動くけど無駄な間違いあり!!!

<pre style="height: 300px;width: 300px;background: #00aa00;"><a style="overflow: visible; color:#ff00aa;zoom: 1;white-space:normal;
            white-space: pre;           /* CSS 2.0 */
            white-space: pre-wrap;      /* CSS 2.1 */
            white-space: pre-line;      /* CSS 3.0 */
            white-space: -pre-wrap;     /* Opera 4-6 */
            white-space: -o-pre-wrap;   /* Opera 7 */
            white-space: -moz-pre-wrap; /* Mozilla */
            white-space: -hp-pre-wrap;  /* HP Printers */
            word-wrap: break-word;      /* IE 5+ */
            ">123aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</a>
</pre>


うーん。。。。
これ間違ってました!!!!!!!!!!!!!!
a にハックかける必要ないんじゃないか?ってこと。

入れ物にハックして、アンカーを改行するんじゃないか?


pre タグの機能は、css の
white-space: pre;
と同等だとか言う話だが、それで動かなかった・・・・

うーん・・・・

まぁいいや、時間がないので次回実験だ(ぁ

って、次回の前に気になったので変えてみた・・・・


<div style="height: 300px;width: 300px;background: #00aa00;float: left;
            white-space: pre;           /* CSS 2.0 */
            white-space: pre-wrap;      /* CSS 2.1 */
            white-space: pre-line;      /* CSS 3.0 */
            white-space: -pre-wrap;     /* Opera 4-6 */
            white-space: -o-pre-wrap;   /* Opera 7 */
            white-space: -moz-pre-wrap; /* Mozilla */
            white-space: -hp-pre-wrap;  /* HP Printers */
            word-wrap: break-word;      /* IE 5+ */"><a>123aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</a>
</div>

これ動く!

Firefox で有効なのを見たら
    white-space: pre-wrap;
    word-wrap: break-word;
だけだった
<div style="height: 300px;width: 300px;background: #00aa00;float: left;
    white-space: pre-wrap;
    word-wrap: break-word;">
<a>456aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</a>
</div>

div をpre にして・・・・も意味あるのかな?

これで動かないbrowserのためのハックなんだろうか?

ネットから拾ったハックの部分、謎過ぎる

追伸:
結局これを使う様になった・・・

.pre-hack-on-anchor{
white-space: pre; /* CSS 2.0 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3.0 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: -moz-pre-wrap; /* Mozilla */
white-space: -hp-pre-wrap; /* HP Printers */
word-break: break-all;
/word-wrap: break-word; /* IE 5+ */
}

word-break: break-all; がスマホとかで使うみたい、
IE はIE だけ解釈できた /を入れているが、
多分もうIE用の word-wrap: break-word; は入れなくても
どちらでもいい^^;




お粗末なブログでした<_ _>

拍手[0回]


[PR]