X



トップページDB@2ch掲示板
1002コメント294KB
SQL初心者質問スレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2016/05/12(木) 05:29:07.61ID:HmbS4CfD
SQL初心者用の質問スレッドです。
0139NAME IS NULL
垢版 |
2016/10/19(水) 07:23:29.08ID:???
重複データ消すのに、rownumber 関数が使えればorder byが使えるので、金額が大きいのとか最新のを残すとかできて便利なんだよな
http:/sotoattanito.hatenablog.com/entry/2015/10/20/230208
0140NAME IS NULL
垢版 |
2016/10/19(水) 18:19:03.82ID:???
>>121 >>122

かなり長文になりましたが、うまくいきました。
ありがとうございました。
0141NAME IS NULL
垢版 |
2016/10/20(木) 05:26:44.31ID:???
>>140
質問だけなら長文にならないだろ
後付けの条件あるからだろ
0142NAME IS NULL
垢版 |
2016/10/25(火) 01:39:06.04ID:???
以前見たDBのER図でずっと気になってるのがあるんだが
複合主キーでテーブル繋げていくやり方って普通なんかな

例えば

「個人」テーブルでは「氏名・電話番号・性別・年齢」を主キー →
繋がる「生徒」テーブルで「生徒番号」が追加 →
「塾」テーブルでは「塾番号」が追加 →
「教室」テーブルでは「教室番号」が追加

DB連携の案件(基幹系のDBに、WebとDBが一緒になった鯖からでリンクドサーバで合体)で、その教室テーブルの先に
「塾生がどこの塾で試験申し込んだか」を突っ込むテーブルこさえてどうこうするって奴だったんだが

みたいなのとでもいうか、SQLで書くと

select *
from school inner join
(select *
  from person inner join student on
  person.name = student.name and person.tel = student.tel and
  person.gender = student.gender and person.age = student.age) as selected_student on
  selected_student.name = school.name and selected_student.tel = school.tel ... ;ごめんもう無理

みたいな奴
細部があってるかどうかは覚えてないが、だいたいそういうSQLでないと仕様がない
ER図だったから泣きながらやった

書籍を見るととりあえずID振って縛りたいのにユニーク制約らしいんだが
実際だと複合主キー使っていくんだろうか?
正直DBの設計よくわかってない下請けのアホなんで、NE〇の方が正しいのかなあ、などと疑問が
0143142
垢版 |
2016/10/25(火) 01:43:49.46ID:gb+5Pezb
正確にはプログラマーですらない事務員 orz なんか釈然としないんだが、そういうものなのかなあ、と
0144NAME IS NULL
垢版 |
2016/10/25(火) 10:09:16.25ID:???
>>142
>「個人」テーブルでは「氏名・電話番号・性別・年齢」を主キー
そもそもこれが普通じゃない

> 正直DBの設計よくわかってない
本買って読め
0145NAME IS NULL
垢版 |
2016/10/25(火) 17:32:39.12ID:???
個人で主キーに年齢含むのは普通ないとは思うが
複合キーそのものは別に珍しい物でもない

まあ、ミドル層の都合で全部にID振ろうとか言う流れも無いわけではないけどな
0146NAME IS NULL
垢版 |
2016/10/25(火) 19:09:21.76ID:???
年齢は毎年変わるだろう
キーにしたいなら、生年月日の方
0147NAME IS NULL
垢版 |
2016/10/25(火) 20:35:20.47ID:???
実は死没者名簿だったとか
0148NAME IS NULL
垢版 |
2016/10/25(火) 21:14:22.45ID:???
死没者の集まる塾の教室か
0149NAME IS NULL
垢版 |
2016/10/26(水) 03:35:36.48ID:???
>>146
17からインクリメントしない声優なら知っている
0150NAME IS NULL
垢版 |
2016/10/26(水) 08:42:54.61ID:???
現在年齢とは言ってない気がする。
0151NAME IS NULL
垢版 |
2016/10/26(水) 10:55:39.68ID:???
人によって異なる解釈を受けるような定義名は避けた方がいい
0152NAME IS NULL
垢版 |
2016/10/26(水) 23:41:52.61ID:iZaFjONH
qiitaって無能のくせにタイトルで煽って
一読すれば書き手が思い込みの激しい初心者だってわかるんだけど
多数からコメントで間違い指摘されるとクソリプがwwwwwwwと煽ったり
せやから違う場合もあるって最後に書いてるやろ日本語読めんのかバカチョンwww
みたいな臭い奴が結構混じってるけどアレなんのためにやってんの?
誤解を招くタイトルでgoogle上位になるとqiitaから金もらえるの?
0153NAME IS NULL
垢版 |
2016/10/27(木) 00:01:04.98ID:zKThEwol
てすてす
0154NAME IS NULL
垢版 |
2016/10/28(金) 12:59:25.79ID:F5E1O/a0
お邪魔いたします。
ManegementStudioでストアドプロシージャをかけるようになりたいのですが、
家庭教師をしてくださる方いらっしゃいませんでしょうか?
お礼はご相談にて。
捨てアドをさらしますので、ボランティア精神にあふれる方お待ちしております。

rirarira_01@yahoo.co.jp
0155NAME IS NULL
垢版 |
2016/10/28(金) 13:40:24.99ID:7+o0ZZYT
>>154
お礼をするというのにボランティアとはどういうことなのか?
0156NAME IS NULL
垢版 |
2016/10/28(金) 13:43:36.79ID:7+o0ZZYT
>>154
Transact-SQLの本ならあるだろ。

昔からそんなに変わってない。

Management Studioがどうこうというはどういう意味?
0157154
垢版 |
2016/10/28(金) 14:13:08.47ID:F5E1O/a0
>>155
すみません、言葉足らずでした。
お礼はするんですが、なかなかお忙しい皆様が多いかと思いますので、
不勉強な私に時間を割いてくださるボランティア精神にあふれる方を
募集しておりました。

>>156
ありがとうございます。
早速購入してみます。

一次面接を合格した企業様がManegementStudioを使用しており
(SQLserber2014)ManegementStudioを使用して、
ストアドプロシージャをかけるようになりたいので、
ManegementStudioの操作性、ストアドプロシージャの知識、
両方が必要となる感じでございます。

現在ManegementStudio勉強環境にインストールして少しずつ勉強中ですが、
二次面接まで時間がないもので、どなたかに家庭教師していただけないかと思い、
失礼ながら書き込ませていただきました。

二次面接は来週早々なので、本が届くのが先か面接が先かという風になってし舞うかと思いまし手…。

どなたかお引き受けいただけませんでしょうか?
0158NAME IS NULL
垢版 |
2016/10/28(金) 14:29:29.64ID:???
綴りの間違いは恥ずかしいから直して
企業様wもそういうのチェックするよ
0159154
垢版 |
2016/10/28(金) 14:42:22.19ID:F5E1O/a0
>>158
失礼いたしました。
注意いたします。
0160NAME IS NULL
垢版 |
2016/10/28(金) 20:18:08.51ID:???
>>157
論理構成に難があるようだけど
二次は慎重にね。
0161NAME IS NULL
垢版 |
2016/10/31(月) 06:20:51.45ID:tmLBVYkg
SQLserber?serberって何?
0162NAME IS NULL
垢版 |
2016/10/31(月) 07:34:39.53ID:???
>>161
こんな簡単な間違いもくみ取れないバカは黙ってろw
0163NAME IS NULL
垢版 |
2016/10/31(月) 13:41:48.42ID:???
その環境での開発経験が必須スキルって面接なら不合格になるべき状況だし、
そうじゃないなら環境作ることができて、足し算するだけのストアドつくれりゃあとはどうとでもなると思うよ。
0164154
垢版 |
2016/11/04(金) 10:04:18.05ID:hFXlISxO
>>160
ありがとうございます。
ありのままのスキルをお話ししてきました。

>>163
ありがとうございます。
ストアドはできれば尚可の条件なので必須ではないのですが、
出来てくれると嬉しいな、ということでしたので勉強しておりますが、
環境作るところまでしか進んでおりません。

本日結果が出るのでお世話になったお礼に結果はご報告させていただきます。
0165NAME IS NULL
垢版 |
2016/11/07(月) 18:39:43.62ID:???
サブクエリを使う場合、サブクエリも範囲を絞ることで結果扱うデータ量が減って計算時間が短くなりますが、コードの可読性が悪くなります。
なにか良いアイデアはありませんか?
0166NAME IS NULL
垢版 |
2016/11/07(月) 19:12:51.29ID:???
サブクエリを使わない
0168NAME IS NULL
垢版 |
2016/11/07(月) 22:59:55.73ID:GjWHsT4m
サブクエリエオ使ったぐらいで「コードの可読性が悪くなります。」なんてウスラバカはそしたらここに書き込む低能
0169NAME IS NULL
垢版 |
2016/11/07(月) 23:29:01.28ID:???
いっそプロシージャーにして見えなくしてしまったら?
0170NAME IS NULL
垢版 |
2016/11/08(火) 06:31:47.39ID:???
関数みたいなことは出来ないの?
0172NAME IS NULL
垢版 |
2016/12/14(水) 04:41:53.30ID:Z9OjftC8
よろしければ教えていただければと思います
変数名に使われるstrsplって何の略でしょうか?

どうにも気になってしまって
0173NAME IS NULL
垢版 |
2016/12/14(水) 08:17:11.10ID:???
string split かねぇ
ggrと strsql を案内されるな
0175NAME IS NULL
垢版 |
2016/12/15(木) 17:35:03.27ID:???
ちょっと教えて欲しいんですけど。
select * で出てくるものについて、 レコードは並び順は不定ってのは知ってるんですが、カラムの順ってのはどうなってるんですか?
create tableで定義した順?
mysqlで自分で作ったテーブルで見るとなんか定義した順みたいだけど。。。
0176NAME IS NULL
垢版 |
2016/12/15(木) 17:44:44.64ID:???
まあこれは定義した順
でもまあそういうのが気になる状況では * あまり使わないかなあ
0177NAME IS NULL
垢版 |
2016/12/15(木) 19:01:53.50ID:???
>>176
ありがとです。自分で書いているのは * の時でも全部カラム名を書くようにはしているんですが。
0178NAME IS NULL
垢版 |
2016/12/16(金) 04:41:17.71ID:???
select * で列リストが定義順でない実装は見たことがないけど
それってちゃんとSQL仕様として決まってるのか
0179NAME IS NULL
垢版 |
2016/12/16(金) 08:01:01.01ID:???
>>178
知らんけど決まってないと * 表記自体使えなくね?
insert もカラム指定なくても使えるし。
information_schema 見れば分かるのかな。
0180NAME IS NULL
垢版 |
2016/12/17(土) 02:25:18.86ID:???
列リスト指定しないinsertは*とは書かないからなぁ
information_schemaで列の定義順がみれたしても、*の出力が定義順だという保証にはならないだろ

集合論として行の順番に意味がないなら、列の順番にも意味はないような気がするけど
列の順番はデータじゃなくて定義の一部だって言われたら意味があるような気もするが
0181NAME IS NULL
垢版 |
2016/12/17(土) 21:14:23.77ID:???
>>180
select * の順番は何かしら定義されていると思うよ。そうでないと何で select * と書くことが認められているのか分からない。

insert で列リストを省略した時も values に最初に書いた値がどの列に入るか分からなかったら、何で省略できるのさって話になる。

あと列リストは組とかタプルとかいうやつで集合じゃないでしょ。こっちは順序あるし同じ値が勝手に1つにまとめられたらチョー困る。
0182NAME IS NULL
垢版 |
2016/12/24(土) 02:14:16.89ID:???
table1
code  comment
-----  -------------
A001  コメント1です
A002  コメント2です
A005  コメント5です


table2
name  code1  code2  code3
-----  ------  ------  ------
名前8  A003  A002  A007
名前3  A004  A003  A001
名前2  A008  A001  A005

があり、例えば特定のキーワード

keyword = '1です'

に comment が部分一致するような code を含む table2 の行を取り出したいのです。
この例では、
名前3
名前2
の行です。

事前にtable1でキーワードに一致するものを見付けてそれを含むtable2の列を探せば良いと思うのですが、
SQL初心者なのでとっかかりが分かりません。
どういう命令でやるべきなのかヒントを教えて下さい。
0183NAME IS NULL
垢版 |
2016/12/24(土) 04:29:21.61ID:???
ヒントをってことなんだけど、table2からA001のコードを持つ行を取得することはできるんだろうか
0184NAME IS NULL
垢版 |
2016/12/24(土) 07:36:26.32ID:???
Like と In でできるだろうけど、遅そう。
0185NAME IS NULL
垢版 |
2016/12/24(土) 09:08:19.15ID:???
>>184
そのSQLを書いて頂けませんでしょうか?
0186NAME IS NULL
垢版 |
2016/12/24(土) 09:22:17.32ID:???
ヒントじゃねーじゃん
0188NAME IS NULL
垢版 |
2016/12/24(土) 11:03:45.73ID:???
select t21.name
from table1 as t1
inner join table2 as t21 on t1.code = t21.code1
where t1.comment like '%1です%'
union
select t22.name
from table1 as t1
inner join table2 as t22 on t1.code = t22.code2
where t1.comment like '%1です%'
union
select
t23.name
from table1 as t1
inner join table2 as t23 on t1.code = t23.code3
where t1.comment like '%1です%'


多分↑で通るけど、もっといい模範解答求む
0189NAME IS NULL
垢版 |
2016/12/24(土) 12:12:04.02ID:???
ヒント like in exists
0191NAME IS NULL
垢版 |
2016/12/24(土) 13:13:57.30ID:???
select name from table2 t2,
(select code from table1 where comment like '%1です%') t1
where
t2.code1 = t1.code or t2.code2 = t1.code or t2.code3 = t1.code;
0192NAME IS NULL
垢版 |
2016/12/24(土) 13:43:58.17ID:???
>>191
さんの方法で出来ました。
>>188
さんの方法も試したのですが、うまく行きませんでした。
私のやり方が悪いのかもしれません。
皆さんありがとうございました。助かりました。
0193NAME IS NULL
垢版 |
2016/12/24(土) 14:45:42.42ID:???
もう一つ教えて下さい。
>191さんの方式ですと出力が
name, code になりますが name のみにして distinct したいのですが
やり方が分かりません。
宜しくお願い致します。
0194NAME IS NULL
垢版 |
2016/12/24(土) 15:01:12.39ID:???
>>193
その通りやってますか?
select文に指定している name しか表示しないはずですけど

先頭行に distinct 加えれば重複している name は消えます。
select distinct name from table2 t2,
0195NAME IS NULL
垢版 |
2016/12/25(日) 01:34:13.09ID:G9kEUO4A
csvからphpmyadminでインポートしてるんだけど途中で止まってしまう
7000行くらいのデータが3000ちょいで切れて、その後継ぎ足しても10行程でまた切れる
あんまりsql関係ないけど原因わかる人いたら教えて
ちなみにxampp
0196NAME IS NULL
垢版 |
2016/12/25(日) 02:16:42.88ID:???
>>194
勘違いでした。
select * ...
としていました。
うまく行きました。
ちなみに>191のような
selectの中に(select ... )があるのは何ていう方式なのでしょうか?
ググルためのキーワードを教えて下さい。
0197NAME IS NULL
垢版 |
2016/12/25(日) 02:22:28.53ID:???
えっ、データベースの板に来るくらいなら、いくらなんでもサブクエリという名前くらい知っとけよ
0198NAME IS NULL
垢版 |
2016/12/25(日) 12:45:10.61ID:???
>>197
ありがとうございました。
サブクエリ、初めて耳にしました。難しいです。
一時テーブル(#テーブル)と言うやつとは違うんですか?
0199NAME IS NULL
垢版 |
2016/12/25(日) 13:04:03.09ID:???
一応ここは初心者スレって名前ついているし
ベテランから見たら知ってて当たり前と思う質問でも
優しく回答してやれよ
0200NAME IS NULL
垢版 |
2016/12/25(日) 13:37:54.49ID:GwZs/74I
>>195

php文字化けとかめんどくさいから
.Netとかでそういうのやってる
0201NAME IS NULL
垢版 |
2016/12/25(日) 23:40:17.47ID:G9kEUO4A
195だが
エラー行から改めて入れて、エラー行から改めて入れて
何回かやったら全部入ったわ
原因はわからん
なんやら文字コード的なエラーメッセージだった気がする
0203NAME IS NULL
垢版 |
2016/12/26(月) 17:20:52.17ID:5PC6tP3J
DBに突っ込んだデータに対してちょっと込み入った操作をしたいとき、
例えば、「ORDER BY id ASC した状態で、前の行と比較して DATA の値が2以上離れてる行が3行以上続く」ケースを抜き出したいとき、
一般的に (個人的にでもいいです) どんなやり方が最も望ましいんでしょうか?

全行ガサッと取ってきてプログラム側でせこせこ判定していく以外思いつけなくて、これでいいのか不安です
0204NAME IS NULL
垢版 |
2016/12/26(月) 18:47:08.33ID:???
>>203
SQLや処理系ごとの拡張で頑張るとか
ストアドで処理するとか

それだけではどの方法が最善かはわからん
0205NAME IS NULL
垢版 |
2016/12/26(月) 18:52:31.92ID:???
>>203
実現できる方法でやる。
結果が問題なければ
そもそも何を不安に思う?
それは何故よ?
0207NAME IS NULL
垢版 |
2016/12/26(月) 20:24:10.05ID:???
日本終了

ーーーーーーーーーーーーーーーーー
 22日からの大雪で航空機が相次いで欠航となった北海道の新千歳空港で、24日夜、100人あまりの中国人が抗議し激しく詰め寄る騒ぎがあった。
0208NAME IS NULL
垢版 |
2016/12/26(月) 22:19:59.12ID:???
>>203
window関数のlagを使った例

select
id
,data
from
(
select
id
,data
,data - lag(data, 1) over(order by id) as delta1
,lag(data, 1) over(order by id) - lag(data, 2) over(order by id) as delta2
from
tab1
)
where
abs(delta1) >= 2
and abs(delta2) >= 2
;
0209NAME IS NULL
垢版 |
2016/12/26(月) 22:22:29.01ID:???
select
id
,data
from
(
select
id
,data
,data - lag(data, 1) over(order by id) as delta1
,lag(data, 1) over(order by id) - lag(data, 2) over(order by id) as delta2
from
tab1
)
where
abs(delta1) >= 2
and abs(delta2) >= 2
;
0210NAME IS NULL
垢版 |
2017/01/02(月) 16:54:20.40ID:???
教えて下さい。
カラムが
code,:index
name:名前
date_from:始めの日付 2017/1/1
date_to:終わりの日付 2017/1/3
days:差分 2
というレコードが1つあった場合に

2017/1/1 index 名前
2017/1/2 index 名前
2017/1/3 index 名前

という風に出力するSQL文を教えて下さい。
ちなみに postgresql です。
0211NAME IS NULL
垢版 |
2017/01/02(月) 17:15:10.65ID:???
>days:差分 2

このカラムの意味が分からない
0212NAME IS NULL
垢版 |
2017/01/02(月) 20:22:33.09ID:???
質問させていただきます。

2017-01-01 01:00:00
2017-01-02 01:00:00
2017-01-03 01:00:00
2017-01-04 01:00:00
といったdatetime型(Y-m-d H:i:s)のレコードdtimeを持つt1テーブルと
2017-01-02
2017-01-03
といったdate型(Y-m-d)のレコードdateを持つt2テーブルがあります。

t1テーブルのdtimeからt2テーブルのdateと日付(Y-m-d)部分が一致しないレコードを取り出すにはどのような記述をすれば良いでしょうか
この例の場合はdateにある2,3日のレコードを省いて1,4日のレコードのみを取り出したいです。
0213NAME IS NULL
垢版 |
2017/01/02(月) 20:37:55.02ID:???
>>210
365行のテンポラリテーブルを用意してうんぬん
0214NAME IS NULL
垢版 |
2017/01/02(月) 20:39:30.91ID:???
>>212
標準SQLの範囲じゃないような気もするけど、
DateTime型からDateだけ取り出す関数があるだろうからそれを使う。
0215NAME IS NULL
垢版 |
2017/01/02(月) 21:38:43.27ID:???
>>210
Select date_from + g.gs as 日付
, code1,name
From Test1 t
,(
  select generate_series(0,10) as gs
) g
Where g.gs <= t.days;


でも>>211が言うようにdaysは演算で処理すべきだべ
0216NAME IS NULL
垢版 |
2017/01/02(月) 21:45:28.71ID:???
>>212
mysql と仮定して
select dtime from t1 where
date(dtime) not in (select date from t2);
0217NAME IS NULL
垢版 |
2017/01/03(火) 09:50:33.91ID:???
>>213,215
できました。ありがとうございました。

>>211
テーブル設計自体はすでにあったものでして…
0218NAME IS NULL
垢版 |
2017/01/03(火) 10:39:07.59ID:???
>>214
>>216
できました、ありがとうございました。
datetimeをdateに置き換える簡単な方法があったんですね。
0219NAME IS NULL
垢版 |
2017/01/14(土) 10:16:41.35ID:???
phpmyadminでデータベースを作成しようと思ったのですがSQLタブのテキストエリアにコピペができません(右クリックしてもコピー、切り取り、貼り付けがでない)
コピペをするのに設定などがあるのでしょうか?
0220NAME IS NULL
垢版 |
2017/01/14(土) 10:36:37.05ID:NxfK13Qk
MySQLの質問させてください
データ更新するとき、phpmyadminのインポートで更新するには、sqlのファイルはどのように書けばいいのでしょうか?

新規作成するときは、INSERT文でこんな風にしました
上書きするときの書き方があれば教えてください
INSERT INTO `sample_table` (`abc_id`, `efg_id`, `meta_key`, `meta_value`) VALUES
(202, 4002, '_thumbnail_id', '4001'),
(212, 4012, '_thumbnail_id', '4011'),
(222, 4022, '_thumbnail_id', '4021');
0221NAME IS NULL
垢版 |
2017/01/14(土) 12:04:14.38ID:???
外部結合クエリで
・A LEFT JOIN B
・B RIGHT JOIN A

これらは全く同じものではなく、結果が異なる場合があるので
外部結合は左のみ使うべしってどこかのサイトで見た記憶がある
どなたかそのカラクリを知っていたら教えて
0222NAME IS NULL
垢版 |
2017/01/14(土) 18:06:07.65ID:???
>>221
俺の中ではそんな事ないから答えられない
0225NAME IS NULL
垢版 |
2017/01/14(土) 21:05:14.36ID:???
>>220

insertでするなら on duplicate key update
又は replaceでというのも

それぞれについて説明をちゃんと読んでから使ってね
0226NAME IS NULL
垢版 |
2017/01/15(日) 22:54:38.21ID:???
>>225
ありがとうございます!
確認して使ってみます
0228NAME IS NULL
垢版 |
2017/01/19(木) 06:50:34.21ID:???
DISTINCT がキーボードで打ちづらいです
0229NAME IS NULL
垢版 |
2017/01/19(木) 12:41:28.22ID:???
そんなあなたにオススメDvorak配列キーボード
0230NAME IS NULL
垢版 |
2017/01/19(木) 18:01:27.09ID:???
ユーザー登録ありのシステムを組むにあたってユーザーが2種類いる場合
テーブルは分けるべきでしょうか?

例えば、Amazon マーケットプレイスのような
販売ユーザーと購入ユーザーの2種類のユーザーが存在する
このような場合のテーブル設計についてご教示いただけると有り難いです。

スレ違いでしたらすいません。
0232NAME IS NULL
垢版 |
2017/01/19(木) 18:56:48.57ID:???
>>231
スレ違いでしたねすいません
スレを教えていただきありがとうございます。
0233NAME IS NULL
垢版 |
2017/01/24(火) 21:51:15.94ID:oe0NRhg4
何もしていない普通の一般人の自宅に隠しカメラを取り付け
それをネットでリアルタイム配信

仲間という人間に対する盗聴盗撮生ネット配信の会

しかけたカメラの映像
乗っ取っているPCの画像をリアルタイムで生配信中
集団で仲間の私生活を覗いて楽しんでいる

そんなことが今この国では行われています

仄めかしの隠語は
猫 穴 水 仲間 
0236NAME IS NULL
垢版 |
2017/01/31(火) 13:26:45.74ID:???
selectで取得するカラムにAUTO_INCREMENTを指定する方法はありませんか
0237NAME IS NULL
垢版 |
2017/01/31(火) 17:11:46.30ID:???
>>236
取得したレコードに連番を付けたいなら方法はある
もしそうなら、これ以降は自分が使っているデータベーススレに移動しろ
0238NAME IS NULL
垢版 |
2017/02/01(水) 19:11:49.33ID:???
>>236
開始番号はどうやって決めるの?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況