我不知道,如果我選擇了這一問題的合適的標題(如果沒有,請相應修改),但考慮下面的簡化表結構我的工作:多列的整數訂購
----------------------------------------------
| date | i | j | k | x | y | z |
----------------------------------------------
| 100209 | 1 | 2 | 3 | 4 | 5 | 6 |
----------------------------------------------
| 100210 | 2 | 3 | 4 | 5 | 6 | 7 |
----------------------------------------------
| 100211 | 0 | 1 | 2 | 3 | 4 | 5 |
----------------------------------------------
| 100212 | 1 | 2 | 3 | 4 | 5 | 6 |
----------------------------------------------
| 100213 | 6 | 5 | 4 | 3 | 2 | 1 |
----------------------------------------------
i
,j
,k
,x
,y
,z
都是不相關的整數/浮筒,它們都代表不同的因素,並且可以具有幅度(i
的非常不同的順序的範圍可以從1 - 10而j
可以從100範圍 - 1000)。
我試圖選擇共享類似條件的日期;給定一組i
,j
,k
,x
,y
,z
值我需要回報由親近的所有值作爲一個整體的實例下令所有的結果,如果i = 1
,j = 2
,k = 3
,x = 4
,y = 5
和z = 6
查詢應按此順序返回日期如下:
我不知道這是否是相關或不的問題,但一些值(i
,j
,k
)意思是更多更好而其他值(x
,y
,z
)的意思是相反的:越少越好。
我該如何構建這樣的查詢?單獨使用SQL可能嗎?
@ Pentium10:
我會盡力回答您的意見,我可以的最好方式。這裏是我的數據示例:
---------------------------------------------------------------------------------
date | temperature | humidity | pressure | windSpeed | moonDistance
---------------------------------------------------------------------------------
090206 | 7 | 87 | 998.8 | 3 | 363953
---------------------------------------------------------------------------------
...... | ... | ... | .... | ... | ......
---------------------------------------------------------------------------------
100206 | 10 | 86 | 1024 | 2 | 386342
---------------------------------------------------------------------------------
100207 | 9 | 90 | 1015 | 1 | 391750
---------------------------------------------------------------------------------
100208 | 13 | 90 | 1005 | 2 | 396392
---------------------------------------------------------------------------------
100209 | 12 | 89 | 1008 | 2 | 400157
---------------------------------------------------------------------------------
100210 | 11 | 92 | 1007 | 3 | 403012
---------------------------------------------------------------------------------
100211 | 6 | 86 | 1012 | 2 | 404984
---------------------------------------------------------------------------------
100212 | 6 | 61 | 1010 | 3 | 406135
---------------------------------------------------------------------------------
100213 | 7 | 57 | 1010 | 2 | 406542
---------------------------------------------------------------------------------
我的表結構有更多的列和數千行,但希望這將足以讓我的觀點清晰。我不會試圖訂購這些價值觀就像我在前面的例子一樣,因爲我可能弄錯了,但我基本上需要做兩種類型的查詢與此數據:
- 告訴我所有日期,通過由我
- 提供了條件相似下令告訴我所有的日期,按日期X遵守的條件的相似下令
我知道第二個查詢可以通過使用第一個查詢輕鬆歸檔,但是我的問題在於使用多個列進行相似性排序,這就是我所指的「排序的親密度整體的所有值」 。因爲如果我只處理一列,那麼通過肖像來訂購將會容易得多,但是當處理多列時,我的頭部真的開始旋轉。
我們的目標是要能夠產生這樣的結果:
今天真的類似於d/M /日, 非常相似,d/M /日,有些 類似d/M /日,...
對我來說,我與天氣和大氣數據工作,但如果它可以幫助我猜你能想到這個問題的employees
方面(有attendance
,hoursPerWeek
和monthlySalary
欄)以及員工的最接近attendance = 100%
,hoursPerWeek = 40
和monthlySalary = $5000
的訂單。
PS:現在,我考慮了員工的例子,我真的不知道了,如果它可以比作我的工作氣象例如,由於與員工表可以計算(rating = monthlySalary/hoursPerWeek * attendance
例如),並有點重量的列,但我不認爲可以做到與天氣表一樣 - 輸入無論如何讚賞。
PS2:我不知道,如果我自己表現不夠好,如果你還有疑問,請讓我知道。
賞金
一些很好的建議,到目前爲止,但是 他們沒有真正解決我的問題。 我正在設置一個賞金,希望 收集更多可能的解決方案 這個問題。謝謝。
語言障礙的問題,你能解釋一下你的意思'的所有值作爲whole',並提供具有類似100-1000 – Pentium10 2010-02-13 11:50:19
@ Pentium10其他範圍更例子:我已更新我的問題以解決您的評論,請再次檢查,謝謝。 =) – 2010-02-13 13:06:30
謝謝。你做的非常出色。正如你所提到的對天氣數據的評價是相當困難的。看到我下面更新的答案。 – Pentium10 2010-02-13 13:55:27