İki datetime arasında mysql sayım sonuçları

3 Cevap php

Gerçekten bu yapılabilir ama ben çözmek için gereken bir sorun rastlamak umuyoruz.

Ben öğeler için bir Envanteri rezervasyon sistemi var. Her öğe saat ve dışarı rezervasyonu alır. Başkaları gün olabilir süre Yani bazı birkaç saat içinde ve dışarı gidebilir.

Yani benim sütunda ben 2 datetime dışarı alanlar var | in Ama teoride ben rezervasyonu için 10 widget var olabilir bu yüzden birden fazla ürün olabilir.

Yani sonraki çalışan geliyor ve başka Widget dışarı kitap istediğini söylüyorlar. Ben Widget onların Widget dışarı kitap için istediğiniz zaman için mevcut olanları olduğunu kontrol etmek için bir yol gerekir. Yani sistem tabloya döngü gerekir ve onlar için soruyorsunuz süre için rezervasyonu kaç widget görecekti.

Yani, yani 10 üzerinden 6 bu yüzden başka Widget üzerinden rezervasyon yaptırmak için izin verebilirsiniz dışarı rezervasyonu. Diğer bir deyişle ben çalışanın Çıkış kitaba istediği süre boyunca rezervasyonu kaç widget'ları saymak gerekiyor.

Ben bu ses uzun soluklu özür için yapılmış ama kimse tavsiyelerde umut olabilir.

Eğer yapabilirsen şimdiden teşekkür ederiz.

3 Cevap

Bu, onları gereken önce kontrol edildi tüm widget'lar bulacaksınız ve ihtiyacınız kadar sonra tekrar çıkış olmayacak.

SELECT COUNT(*) FROM widgets WHERE in < $$newcheckOUTtime$$ AND out > $$newcheckINtime$$

Sonra dışarı rezervasyonu (ama yine arkaya değil) olan öğelerin bu tür sayısı ile toplam miktar karşılaştırabilirsiniz size her öğe türü yanı sıra rezervasyon tablonun miktarını depolayan bir tablo var varsayarsak.

ITEM_TYPE öğenizin, out_time ve in_time = null ile rezervasyon tabloda bir öğe mağaza bir satır dışarı rezervasyon yaparken. Geri bir öğe için rezervasyon yaparken o in_time saklayın. Sen istenen türü ve nerede in_time IS NULL kalemleri için arama yapabilirsiniz.

Yani bir tablo alanları [Çıkış] ile [rezervasyon] ve [in] var. Iade edilmemiş aletler için NULL [in] varsayarsak, sizin gibi üzerinden rezervasyonu widget sayısını alabilirsiniz:

select count(*)
from [bookings]
where [in] is null