Rumah > Soal Jawab > teks badan
我有个平台是有签到功能的,我需要判断这个用户连续在这个平台上签到多少天了 给他不同的积分。
例如今天是4月26号,从4月15号开始每天都签到了,那就是连续签到12天,4月13号也签到了,但是4月14号没签到,
mysql语句怎么写呢
PHP中文网2017-05-16 13:09:47
Secara amnya, bilangan hari log masuk berterusan disimpan Jika ia tidak disimpan, satu cara yang telah kami lakukan sebelum ini ialah menyimpan log masuk dengan cap masa dan kemudian mendapatkan cap masa log masuk. kami mendapatkannya selama satu bulan (jika bulan ini Apabila log masuk penuh, dapatkan nombor bulan sebelumnya), dan kemudian gelungkan bilangan hari dalam PHP untuk mengiranya. Kemudian, kaedah ini lebih perlahan, jadi kami merekodkan hari daftar masuk secara berasingan
大家讲道理2017-05-16 13:09:47
Isu reka bentuk pangkalan data
Oleh kerana perlu mengira hari berturut-turut, adalah mustahil untuk merekodkan satu item setiap hari (bayangkan bank merekodkan baki pengguna untuk sebarang bilangan hari
Kaedah perakaunan dipanggil algoritma pengumpulan tahunan). Iaitu, merekodkan titik masa tertentu sehingga masa lain Baki pada satu titik masa kekal tidak berubah (berterusan)
reka bentuk jadual, kira-kira seperti berikut:
Masa tamat - masa mula = bilangan hari penukaran mata adalah seperti cukai, hanya mengira bonus
大家讲道理2017-05-16 13:09:47
Dalam peraturan perniagaan anda, perlu ada had berapa banyak mata yang akan diberikan untuk x hari berturut-turut Contohnya, berapa banyak mata yang akan diberikan jika terdapat >= 20 hari berturut-turut.
Kemudian mari kita ingat x ini, dalam db pilih * dari tb di mana uid = 10086 pesanan mengikut dt desc had x
Kemudian dalam program, tentukan bilangan maksimum hari berturut-turut dan tambah skor yang sepadan.