問題タブ [select]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
7944 参照

mysql - 最初のn文字が等しい行の選択(MySQL)

次のようなプレーヤーハンドルのあるテーブルがあります。

そこから、最初のn-charが一致するすべてのプレーヤーを選択したいのですが、パターンはわかりません。最初のn-charであるだけです。上記の例では、行1、2、3、4、および7を返す必要はありません。

これは可能であり、MySQLで行うにはそれほど高価ではありませんか?

0 投票する
2 に答える
2636 参照

vba - セルのグループを選択するExcelマクロを作成するにはどうすればよいですか?

セルの一貫した範囲を選択するために実行できるマクロを探しているので、それらを別のスプレッドシートに簡単にコピーできます。範囲はF3:BJ3になります。

0 投票する
4 に答える
618 参照

performance - データベースと EF のパフォーマンスに関する懸念はありますか?

私は、人々が何年にもわたって私にさまざまな答えをくれたという基本的にSQL選択の質問をしています。それぞれが 40 列を超えるように設計された 2 つのテーブルがあり、潜在的に 10 から数千の行を保持するとします。私は SqlServer2005 を使用しています。

これらのテーブルを結合するとき、where句で次のようなものがある場合

一部の人々は、「t1.SomeID = t2.SomeOtherID」の後ではなく、定数「t1.UserID = 5」を常に前に置くべきだと言います。これにより、選択のパフォーマンスが向上します。他の人はそれは問題ではないと言いますが。

正解は?

また、ADO.NET Entity Framework を使用して DAL を実装する場合、40 を超える列を持つテーブルをモデル化し、CRUD 操作を実行すると、パフォーマンスの問題が発生しますか?

ありがとうございました、

レイ。

0 投票する
4 に答える
4163 参照

php - 2 つのテーブルでの PHP 結合のヘルプ

私はただPHPを学んでいますが、ここで完全に迷っています。これまで join を実際に使用したことがなく、ここで使用する必要があると思いますが、わかりません。誰かが私のためにそれをしてくれるとは思っていませんが、もしあなたが私を正しい方向に向けることができれば、それは素晴らしいことです.結合について読んでみましたが、20の異なる方法があり、私はただ迷っています.

基本的に、私はフォーラムを手作業でコーディングしました。うまく機能しますが、効率的ではありません。

board_posts (投稿用) と board_forums (フォーラム用、カテゴリとセクション用) があります。

私がやり直している部分は、インデックス ページの最後の投稿の情報を取得する方法です。私が設定した方法は、結合の使用を避けるために、最新の投稿の情報をboard_forumsのテーブルに保存することです。そのため、「オフトピック」と呼ばれるセクションがあるとします。「forum_lastpost_username/userid」のフィールドがあります/posttitle/posttime" ユーザーが投稿したときに更新しますが、これは悪いことです。すべてを動的に取得して、それらのフィールドを削除しようとしています。

現在、私のクエリは次のようになっています。

そして、そのフォーラムの情報 (名前、説明など) を取得するものがあり、最後の投稿のすべてのデータがそこにあります。

しかし、私はそれを取り除き、board_posts から取得する必要があります。board_posts での設定方法は、それがスレッドの場合、post_parentpost は NULL であり、返信の場合、そのフィールドにはスレッドの ID (トピックの最初の投稿) が含まれます。したがって、最新の post_date を取得し、どのユーザーがそれを投稿したかを確認し、parentpost が NULL かどうかを確認する必要があります (null の場合、最後の投稿は新しいスレッドであるため、タイトルとユーザーのすべての情報を取得できますが、そうでない場合は、そのスレッドの最初の投稿の情報 (タイトル、ID) を取得する必要があります (これは、post_parentpost が何であるかを確認し、その ID を検索して、そこからタイトルを取得することで見つけることができます。

それは意味がありますか?もしそうなら、私を助けてください:(

どんな助けでも大歓迎です!!!!

0 投票する
1 に答える
947 参照

sql - リンクフィールドに基づくSQL選択

私はこれを尋ねる馬鹿のように感じます...

ユーザーにユーザー名を指定して、個人の名前フィールドを返すクエリを実行できますか?

SQL?

の望ましいリターンで

私はこれまで2つのパスでそれを行ってきましたが、おそらく結合を使用したネストされた選択が必要だと思います

0 投票する
4 に答える
15914 参照

c - select() にすぐに戻るように通知する方法は?

着信トラフィックの TCP ソケットをリッスンし、受信したデータをメイン スレッドがアクセスできるようにバッファリングするワーカー スレッドがあります (このソケットをAと呼びましょう)。ただし、ワーカー スレッドは、データが入ってこない場合でも、いくつかの定期的な操作 (たとえば、1 秒に 1 回)select()を実行する必要があります。(ノンブロッキング ソケットで呼び出しreceive()てから 1 秒間スリープするのは良くないことに注意してください。メイン スレッドが常にすぐに処理できるとは限らない場合でも、着信データはメイン スレッドですぐに利用できるようにする必要があります。バッファリングが必要です。)

ここで、ワーカー スレッドに他の処理をすぐに実行するよう通知できる必要もあります。select()メイン スレッドから、すぐにワーカー スレッドを返す必要があります。今のところ、私はこれを次のように解決しました(基本的にここここから採用されたアプローチ):

プログラムの起動時に、ワーカー スレッドはこの目的のためにデータグラム (UDP) タイプの追加のソケットを作成し、それを任意のポートにバインドします (このソケットをBと呼びましょう)。同様に、メイン スレッドは送信用のデータグラム ソケットを作成します。への呼び出しselect()で、ワーカー スレッドはABの両方を にリストしますfd_set。メインスレッドがシグナルを送る必要があるとき、それsendto()は の対応するポートへの数バイトlocalhostです。ワーカー スレッドに戻り、 Bfd_setがafterselect()リターンに残っている場合は、recvfrom()が呼び出され、受信したバイトは単純に無視されます。

これは非常にうまく機能しているようですが、主にBに追加のポートをバインドする必要があるため、また、失敗する可能性のあるソケット API 呼び出しがいくつか追加されるため、このソリューションが気に入っているとは言えません。ケースごとに適切なアクションを見つけたいと本当に思っています。

理想的には、 Aselect()を入力として取り、すぐに返す以外は何もしない関数を呼び出したいと思います。しかし、私はそのような機能を知りません。(たとえば、ソケットは可能だと思いshutdown()ますが、副作用は実際には受け入れられません:)

これが不可能な場合、次善の策はBを作成することです。これは、実際の UDP ソケットよりもはるかにダミーであり、限られたリソース (合理的な量のメモリを超えて) を実際に割り当てる必要はありません。Unix ドメインソケットはまさにこれを行うと思いますが、解決策は、現在私が持っているものよりもはるかにクロスプラットフォームである必要はありませんが、適度な量の#ifdefものは問題ありません. (私は主に Windows と Linux をターゲットにしています - ちなみに C++ を書いています。)

2 つの別個のスレッドを取り除くためにリファクタリングを提案しないでください。この設計が必要なのは、メイン スレッドが長期間にわたってブロックされる可能性があり (たとえば、集中的な計算を実行していて、receive()計算の最も内側のループから定期的に呼び出しを開始できない場合など)、その間、誰かが着信データをバッファリングする必要があるためです。 (そして、私が制御できない理由により、送信者になることはできません)。

これを書いている今、誰かが必ず「Boost.Asio」と答えるだろうと思ったので、初めて見ました... 明らかな解決策を見つけることができませんでした。ソケットA の作成方法にも (簡単に) 影響を与えることはできませんが、必要に応じて他のオブジェクトにラップさせることができるはずです。

0 投票する
4 に答える
178 参照

postgresql - null許容参照のSELECT

私は2つのテーブル、作者とスタイルの間に関係があります。すべての作成者はスタイルに関連付けられていますが、作成者にスタイルがない(IS NULL)という特殊なケースがあります。

参照をNULLに設定しても問題はありませんが、作成者とスタイルを選択するためのクエリを実行する際に問題があります。

たとえば、次のクエリを実行します。

(予想どおり)NULLスタイルの作成者を無視するだけです。

左結合のように、NULLスタイルの作成者もリストする選択を行う必要があります(何らかの理由でLEFT JOINを使用できません)。

明示的な結合を含まないソリューションはありますか?

0 投票する
2 に答える
4373 参照

mysql - 複数の行とテーブルの文字列を1つの結果列に連結することは可能ですか?

テーブル「タグ」と1対多の関係にあるテーブル「プロジェクト」から1つのレコードを取得するMySQLクエリを作成しようとしています。私のアプリケーションはこれを行うために4つのテーブルを使用します:

テーブル「タグ」の複数の値が1つの結果列に連結されるようにクエリを作成することは可能ですか?サブクエリを使用せずにこれを実行したいと思います。

表の説明:

望ましい結果:

0 投票する
7 に答える
340 参照

sql - SQL ステートメント「SELECT [results] FROM [tables] WHERE [conditions] FETCH FIRST [n] ROWS ONLY」を使用する適切なタイミングはいつですか。

特定の数の行のみを選択する方が、より具体的な選択ステートメントを作成するよりも優れている場合はよくわかりません。かなり単純なものが欠けているような気がしますが、わかりません。私はSQLの経験が6か月未満で、大雑把だったので、これが本当に単純な質問である場合は申し訳ありませんが、明確な答えが見つかりませんでした.

0 投票する
2 に答える
5595 参照

select - Boost Message Queue not based on POSIX message queue? Impossible to select(2)?

I thought I'd use Boost.Interprocess's Message Queue in place of sockets for communication within one host. But after digging into it, it seems that this library for some reason eschews the POSIX message queue facility (which my Linux system supports), and instead is implemented on top of POSIX shared memory. The interface is similar enough that you might not guess this right away, but it seems to be the case.

The downside for me is that shared memory obtained via shm_open(3) does not appear to be usable with select(2), as opposed to POSIX message queues obtained via mq_open(3).

It seems like Boost's library loses in this case. Does anyone understand know why this should be? Even if it POSIX message queues are only available on some systems, I'd expect Boost to use that facility where it is available, and reimplement it only where necessary. Is there some pitfall of the POSIX system which I do not yet recognize?