folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Mysql İle Alengerli Sıralama Döngüsü?



Mysql İle Alengerli Sıralama Döngüsü?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pesimistzombie
    pesimistzombie's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    hacılar çok alengirli bir iş var elimde kafamı toparlayamıyorum bir türlü zamanım da kısıtlı mysql ile bir sıralama yapmam gerekiyor işin içinden çıkamadım.

    A,B,C,D,E isimli noktalarımız var. 

    Bu noktalarımız birbirine olan uzaklığına göre C,E,A,B,D şeklinde sıralanıyor.

    1. Araç C,E,A,D

    2. Araç E,A,B,D

    noktalarında çalışıyor.

    Saat tablomuz var. Noktalardan alınacak yolcuların saatleri bunlar

     

    nokta | saat

    -------------

    A     | 12:10

    A     | 11:20

    A     | 23:10

    B     | 22:15

    B     | 20:00

    C     | 19:50

    D     | 07:40

    D     | 10:45

    E     | 14:00

    E     | 22:15

    E     | 22:35

     

    Sql cümlesi olarak ne yazmalıyımki;

    1- C,E,A,D sıralamasına göre 1. araç en yakın saatli en yakın noktayı seçsin

    2- En yakın noktadan sonra sıralamaya sadık kalarak, örneğin en yakın nokta E ise, A,D şeklinde devam ederek buralardaki (ilk bulunan en yakın nokta saati+1 saat) içinde gidecek yolcuları sırayla çeksin döngüyü bitirsin şayet uygun yolcu yoksa boş geçip döngüyü bitirsin

    3- 1 araç için C,E,A,D sıralaması sona erdiğinde, 2. araç için aynı mantıkla E,A,B,D sıralamasına devam etsin ancak ortak kesişen E,A noktalarında 1. araca yerleşen yolcuları görmezden gelsin.

    4- 2. araç da bittikten sonra sar başa yapsın, 1. araç için yeni en yakın nokta bulup döngüye devam etsin.

    5- Tablodaki tüm yolculara araç atandıktan sonra döngüler sona ersin dünya daha mutlu daha güzel bir yer olsun.

    anlatabildim mi acaba :|

    sql cümlecikleri lazım bana ama asp,php gibi dillerle döngü tamamlamak şart tabiki o döngü yazılmasa bile mantık konusunda yardımcı olursanız sevinirim kafam durdu çalışmıyor.


    :|
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek
    pesimistzombie bunu yazdı

    hacılar çok alengirli bir iş var elimde kafamı toparlayamıyorum bir türlü zamanım da kısıtlı mysql ile bir sıralama yapmam gerekiyor işin içinden çıkamadım.

    A,B,C,D,E isimli noktalarımız var. 

    Bu noktalarımız birbirine olan uzaklığına göre C,E,A,B,D şeklinde sıralanıyor.

    1. Araç C,E,A,D

    2. Araç E,A,B,D

    noktalarında çalışıyor.

    Saat tablomuz var. Noktalardan alınacak yolcuların saatleri bunlar

     

    nokta | saat

    -------------

    A     | 12:10

    A     | 11:20

    A     | 23:10

    B     | 22:15

    B     | 20:00

    C     | 19:50

    D     | 07:40

    D     | 10:45

    E     | 14:00

    E     | 22:15

    E     | 22:35

     

    Sql cümlesi olarak ne yazmalıyımki;

    1- C,E,A,D sıralamasına göre 1. araç en yakın saatli en yakın noktayı seçsin

    2- En yakın noktadan sonra sıralamaya sadık kalarak, örneğin en yakın nokta E ise, A,D şeklinde devam ederek buralardaki (ilk bulunan en yakın nokta saati+1 saat) içinde gidecek yolcuları sırayla çeksin döngüyü bitirsin şayet uygun yolcu yoksa boş geçip döngüyü bitirsin

    3- 1 araç için C,E,A,D sıralaması sona erdiğinde, 2. araç için aynı mantıkla E,A,B,D sıralamasına devam etsin ancak ortak kesişen E,A noktalarında 1. araca yerleşen yolcuları görmezden gelsin.

    4- 2. araç da bittikten sonra sar başa yapsın, 1. araç için yeni en yakın nokta bulup döngüye devam etsin.

    5- Tablodaki tüm yolculara araç atandıktan sonra döngüler sona ersin dünya daha mutlu daha güzel bir yer olsun.

    anlatabildim mi acaba :|

    sql cümlecikleri lazım bana ama asp,php gibi dillerle döngü tamamlamak şart tabiki o döngü yazılmasa bile mantık konusunda yardımcı olursanız sevinirim kafam durdu çalışmıyor.

    Tabloya saatleri saniye olarak kaydetsen. Şu anki zamanı saniye cinsine çevirip başka br değişkene ata.

    SELECT saat, nokta FROM tablo WHERE saat > saniye_cinsinden_simdi ORDER BY asc LIMIT 1;

    Bu sorguyla şu anki saniyeden sonraki vakitleri çekip sıralayıp birinci sıradakini alabilirsin diye umuyorum.

    Nokta'yı da aldığın için geri kalan sıralamayı o noktadan başlatabilirsin.

     


    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Shuqufe
    Shuqufe's avatar
    Kayıt Tarihi: 24/Ağustos/2005
    Erkek

    Baba ben bişi anlamadım böyle, noktaların bulunduğu tabloyu paylaşırsan daha verimli olacak ..

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pesimistzombie
    pesimistzombie's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    tablo paylaştım yukarda tek tablo var nokta ve saat hücreleri. noktalar yazı olarak varchar tipli.

    araçlar için en erken saatleri çekmemde sıkıntı yok bunu döngüye sokmakta güçlük çekiyorum.


    :|
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    http://sqlfiddle.com/ 

    Burada çalışsak ?


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pesimistzombie
    pesimistzombie's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek
    MhmdAlmz bunu yazdı

    http://sqlfiddle.com/ 

    Burada çalışsak ?

    çalışalım hocam ilk taşı ben attım http://sqlfiddle.com/#!9/2ebb8c/1 :B


    :|
Toplam Hit: 1530 Toplam Mesaj: 6
mysql sıralama döngü alengirli sıralama dünyada ilk